package com.ygq;


import DO.StudentDO;
import DTO.AddStudentDTO;
import DTO.EditStudentPasswordDTO;
import DTO.PageStudentDTO;
import DTO.StudentLoginDTO;
import result.PageResult;
import utils.Student;

import java.util.List;

public interface StudentService {
    /**
     * 学生登录，通过username（studentNumber，password），查询学生信息
     * @param studentLoginDTO
     * @return
     */
    StudentDO getById(StudentLoginDTO studentLoginDTO);

    /**
     * 学生分页查询
     * @param pageStudentDTO
     * @return
     */
    PageResult page(PageStudentDTO pageStudentDTO);


    /**
     * 添加班级和添加该班级学生信息
     * @param students
     * @param className
     */
    void addClassAndStudent(List<Student> students, String className);

    /**
     * 添加学生（1个）
     * @param addStudentDTO
     */
    void addStudent(AddStudentDTO addStudentDTO);

    /**
     * 重置密码
     * @param id
     */
    void resetPassword(Integer id);

    /**
     * 删除学生
     * @param id
     */
    void deleteStudent(Integer id);

    // 获取原密码
    String getPasswordById(Integer id);

    // 修改密码
    void editPassword(EditStudentPasswordDTO editStudentPasswordDTO);

    List<Integer> getUserIdByClassId(Integer aClass);

    // 查询该班级的全部学生信息
    List<StudentDO> getByIdToTwo(Integer classId);
}
